package cn.jingyuan.swan.system.domain.sys.entity;


import cn.jingyuan.swan.system.enums.SysAccStatusEnum;
import cn.jingyuan.swan.system.enums.SysAccountTypeEnum;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 账号
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
@TableName("t_account")
public class Account {

    /** 用户账号主键 */
    @TableId(type = IdType.ASSIGN_ID)
    Long accountId;

    /** 用户主键 */
    Long userId;

    /** 账号类型/登录类型 */
    SysAccountTypeEnum identityType;

    /** 账号标识：手机号、邮箱、第三方的唯一标识 */
    String identifier;

    /** 密码凭证：自建账号的保存密码，第三方的保存 token */
    String credential;

    /** 昵称 */
    String nickname;

    /** 头像 */
    String avatar;

    /** 用户统一标识，针对第三方应用 */
    String unionId;

    /** 注册 IP */
    String registeredIp;

    /** 账号状态 */
    SysAccStatusEnum accStatus;

    /** 创建时间 */
    Date createTime;

    /** 更新时间 */
    Date updateTime;

}
